/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package xml_pac;

import bean.Coordonne;
import java.io.File;
import java.io.IOException;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.omg.PortableInterceptor.SYSTEM_EXCEPTION;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
import utilitaire.Constantes;
import utilitaire.GestionSQL;

/**
 *
 * @author romain_lou
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        try {
            String idUser = args[0];

            utilitaire.Log.getLog().afficheEntete();
            utilitaire.Log.getLog().ecrireSansTerminal(Constantes.getXmlPATH()+idUser+".xml");

            SAXParserFactory fabrique = SAXParserFactory.newInstance();
            SAXParser parseur = fabrique.newSAXParser();


            File fichier = new File(Constantes.getXmlPATH()+idUser+".xml");
            PersonneHandler gestionnairePersonne = new PersonneHandler();
            

            parseur.parse(fichier, gestionnairePersonne);

            DefaultHandler gestionnaireParcelle = new ParcelleHandler(gestionnairePersonne.getPersonne());

            parseur.parse(fichier, gestionnaireParcelle);

                GestionSQL.getConnection().fermerConnection();

            utilitaire.Log.getLog().ecrire("Fin du traitement");
            

            } catch (IOException ex) {
                utilitaire.Log.getLog().ecrireErreur(ex.getMessage());
            } catch (ParserConfigurationException ex) {
                utilitaire.Log.getLog().ecrireErreur(ex.getMessage());
            } catch (SAXException ex) {
                utilitaire.Log.getLog().ecrireErreur(ex.getMessage());
            }catch (ClassNotFoundException ex) {
                utilitaire.Log.getLog().ecrireErreur(ex.getMessage());
            } catch (InstantiationException ex) {
                utilitaire.Log.getLog().ecrireErreur(ex.getMessage());
            } catch (IllegalAccessException ex) {
                utilitaire.Log.getLog().ecrireErreur(ex.getMessage());
            } catch (SQLException ex) {
                utilitaire.Log.getLog().ecrireErreur(ex.getMessage());
            }

	}
    }


